package com.task.sql.schedule.mapper;

import com.task.sql.schedule.domain.entity.SqlTaskSchedule;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.task.sql.schedule.domain.qo.SqlTaskScheduleQO;
import com.task.sql.schedule.domain.vo.SqlTaskScheduleVO;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 1.  Mapper
 2.  3. @author donghai.liu
 4. @time 2024-09-10
 */
@Mapper
public interface SqlTaskScheduleMapper extends BaseMapper<SqlTaskSchedule> {

    /**
     * @desc 列表
     *
     * @param qo
     * @return java.util.List<com.task.sql.schedule.domain.vo.SqlTaskScheduleVO>
     */
    List<SqlTaskScheduleVO> listSqlTaskSchedule(@Param("qo") SqlTaskScheduleQO qo);

    /**
     * 查询需要执行的任务
     * @param failedMaxNum 查询条件
     * @return
     */
    List<SqlTaskSchedule> listPendingTasks(java.lang.Integer failedMaxNum);

    /**
     * @desc 条数
     *
     * @param qo
     * @return int
     */
    int countSqlTaskSchedule(@Param("qo") SqlTaskScheduleQO qo);
}
